package com.murong.ai.coder.infrastructure.util;

import com.murong.ai.coder.enums.UuidTypEnum;

/**
 * 字符串工具类，提供常用的字符串处理方法。
 */
public class MrStringUtils {
    
    /**
     * 将下划线命名的字符串转换为驼峰命名（首字母小写）。
     * 例如：hello_world -> helloWorld
     *
     * @param name 下划线命名的字符串
     * @return 驼峰命名的字符串
     */
    public static String toCamel(String name) {
        StringBuilder sb = new StringBuilder();
        boolean upper = false;
        for (char c : name.toCharArray()) {
            if (c == '_') {
                upper = true;
            } else {
                sb.append(upper ? Character.toUpperCase(c) : Character.toLowerCase(c));
                upper = false;
            }
        }
        return sb.substring(0, 1).toLowerCase() + sb.substring(1);
    }

    /**
     * 生成去除横线的UUID字符串。
     *
     * @param idTyp UUID类型枚举（当前未使用）
     * @return 32位无横线的UUID字符串
     */
    public static String generateId(UuidTypEnum idTyp) {
        return java.util.UUID.randomUUID().toString().replace("-", "");
    }

    /**
     * 将字符串首字母大写。
     * 例如：hello -> Hello
     *
     * @param str 原始字符串
     * @return 首字母大写后的字符串
     */
    public static String toFirstLetter(String str) {
        if (str == null || str.isEmpty()) {
            return str;
        }
        return str.substring(0, 1).toUpperCase() + str.substring(1);
    }

}
